package de.pmg_grandma;

import database.DatabaseBot;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class EmailActivity extends Activity
{
	Activity mySelfActivity;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		mySelfActivity = this;
		
		//Email-Text und Titel, die per Intent-Extra übergeben worden sind
		Intent thisIntent = getIntent();
		String wunsch = (String) thisIntent.getCharSequenceExtra("Wunsch");
		String titel = (String) thisIntent.getCharSequenceExtra("Titel");
		
		if(wunsch != null && titel != null)
			sendMail(wunsch, titel);
	}
	
	//EMAIL versenden
	public void sendMail(String wunsch, String titelanzeige)
	{
		//Emailadresse aus der Datenbank holen
		DatabaseBot tempBot = DatabaseBot.getBot(this);
		String adresse = tempBot.getEmail();
		
		if(!adresse.equals("") || !adresse.equals(" "))
		{
			//Webview um ein PHP-Skript auszurufen, dass die Email abschickt
			WebView webview = new WebView(this);
			//Javascriptfunktion um eine Rückmeldung zu bekommen
			class MyJavaScriptInterface 
			{  
		       public void processContent(String aContent) 
		       { 
		    	   Log.i("Blob","Result: "+aContent);
		           DatabaseBot tempBot = DatabaseBot.getBot(mySelfActivity);
		           Toast.makeText(mySelfActivity, "Email wurde an: "+tempBot.getEmail()+" versendet", Toast.LENGTH_LONG).show();
		       } 
		    }
			
			//Webview-Einstellungen
			webview.getSettings().setJavaScriptEnabled(true); 
			webview.addJavascriptInterface(new MyJavaScriptInterface(), "INTERFACE"); 
			//Javascript-Funktion für die Rückmeldung beim Laden des PHP-Skriptes einbinden
			webview.setWebViewClient(new WebViewClient() { 
				@Override 
				public void onPageFinished(WebView view, String url) 
				{ 
					view.loadUrl("javascript:window.INTERFACE.processContent(document.getElementsByTagName('body')[0].innerText);");
				    mySelfActivity.finish();
				} 
			});
			
			//Teste ob eine Internet-Verbindung verfügbar ist
			NetworkInfo info = (NetworkInfo) ((ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
			if(info == null)
			{
				Toast.makeText(this, "EmailService inaktiv: Internetverbindung fehlt!", Toast.LENGTH_LONG).show();
				this.finish();
			}
	        
			//lade PHP-Skript mit GET-Wertübergabe
			webview.loadUrl("http://truecase.de/PMG/emailversand.php?id=PMG_GRANNI_EMAILVERSAND&Betreff=Granni hat einen Wunsch&Empfangermail="+adresse+"&Text="+wunsch);
		}
	}
}
